package ar.edu.utn.frgp.TPFinalBanco.action;

import ar.edu.utn.frgp.TPFinalBanco.model.Cliente;
import ar.edu.utn.frgp.TPFinalBanco.service.impl.GestionClienteServiceImpl;

import com.opensymphony.xwork2.ActionContext;

public class LoginAction extends BaseAction {

	private static final long serialVersionUID = 1L;

	private Cliente cliente;
	private String dni;
	private String contrasenia;

	@Override
	public String execute() throws Exception {
		try {
			GestionClienteServiceImpl clienteService = (GestionClienteServiceImpl) getContext()
					.getBean("gestionClientesService");
			cliente = clienteService.getCliente(dni);
			if (cliente != null && dni.equals(cliente.getDni())
					&& contrasenia.equals(cliente.getContrasenia())) {

				// ponemos el cliente en la sesión
				ActionContext.getContext().getSession().put("cliente", cliente);

				return SUCCESS;
			} else {
				addActionError("El usuario o contraseña ingresado es incorrecto, por favor intente nuevamente");
				return ERROR;
			}
		} catch (Exception e) {
			addActionError("Ha ocurrido un error desconocido. Vuelva a intentarlo nuevamente mas tarde por favor.");
			return ERROR;
		}

	}

	public Cliente getCliente() {
		return cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	public String getDni() {
		return dni;
	}

	public void setDni(String dni) {
		this.dni = dni;
	}

	public String getContrasenia() {
		return contrasenia;
	}

	public void setContrasenia(String contrasenia) {
		this.contrasenia = contrasenia;
	}

}
